xgboost算法详细介绍(通过简单例子讲述) 您所在的位置:网站首页 adaboost 流程 xgboost算法详细介绍(通过简单例子讲述)

xgboost算法详细介绍(通过简单例子讲述)

2023-10-19 05:07| 来源: 网络整理| 查看: 265

xgboost算法详细介绍(通过简单例子讲述) boost算法简介集成学习的任务XGBoost简介XGBoost的思想通过算法流程图举一个例子详解xgboost树的生成1.首先我们初始化三个样例的考试成绩预测值为0,属性为(天赋高、不恋爱、每天学习时间有16个小时),(天赋低、不恋爱、每天学习时间有16个小时),(天赋高、不恋爱、每天学习时间有6个小时),真实成绩分别为100,70,86分。3.计算损失函数对于每个样本预测值的导数4.根据导数的信息建立一颗新的决策树5.利用新的决策树预测样本值,并累加到原来的值上xgboost的简单应用:根据诊断措施预测糖尿病的发病(Kaggle竞赛 ) 作者才疏学浅,如有错误还请指正,谢谢!

boost算法简介

Boost 是一种将弱分离器??(?)组合起来形成强分类器 F(?) 的算法框架

“弱分类器”的分类能力不强,但它又比随机选的效果稍微好点,类似于“臭皮匠”。 “强分类器”具有很强的分类能力,也就是把特征扔给它,他能分的比较准确,算是“诸葛亮”一类的。 如果直接可以建立一个强分类器,那弱分类器实际上就是多余的,但是,这世上“绝顶聪明的诸葛亮”少之又少,反而,在某方面有才华的人很多。于是,Boost选择了用三个臭皮匠去顶诸葛亮。

集成学习的任务

集成学习的主要手段就是反复训练多个模型,并将这些模型通过一定方式组合在一起,形成一个高性能的强大的集成模型。在Boosting算法体系中一般采用迭代串行的形式生成一系列模型,然后将这些模型进行线性加权相加,得到最终集成学习器。假设已经迭代到m-1次,得到的集成模型为 在这里插入图片描述 在下一次迭代中,我们要训练,它应该是让新生成的集成模型在训练集上损失最小的模型 在这里插入图片描述

XGBoost简介

xgboost 的全称是eXtreme Gradient Boosting,由华盛顿大学的陈天奇博士提出,在Kaggle的希格斯子信号识别竞赛中使用,因其出众的效率与较高的预测准确度而引起了广泛的关注。

XGBoost的思想

如果boost算法每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升(Gradient boosting),XGBoost算法是采用分步前向加性模型,只不过在每次迭代中生成弱学习器后不再需要计算一个系数,模型形式如下: 在这里插入图片描述 XGBoost算法通过优化结构化损失函数(加入了正则项的损失函数,可以起到降低过拟合的风险)来实现弱学习器的生成,并且XGBoost算法没有采用搜索方法,而是直接利用了损失函数的一阶导数和二阶导数值,并通过预排序、加权分位数等技术来大大提高了算法的性能。

通过算法流程图举一个例子详解xgboost树的生成

在这里插入图片描述

我们举一个预测学生考试分数的例子,给定若干个学生属性(比如天赋,每天学习时间,是否恋爱等),通过一个决策树A,我们可以看到,一个通过天赋属性的预测结果:天赋高的人分数+90,天赋低的人+60,通过一个决策树B,可以看到每天学习时间



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有